package com.quad.innovators.salesease.model.form.task;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.quad.innovators.salesease.model.form.tag.TagForm;
import com.quad.innovators.salesease.model.vo.tag.TagVO;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * @author cheng
 */
@Schema(description = "任务发布对象")
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class TaskDistributionForm implements Serializable {

    @Schema(description = "任务code")
    private String code;

    @Schema(description = "任务名称")
    @NotBlank(message = "任务名称不能为空")
    private String name;

    @Schema(description = "执行位置类型 1-仓库 2-门店")
    private Integer addressType;

    @Schema(description = "执行位置")
    private List<TaskAddressForm> taskAddressFormList;

    @Schema(description = "所属标签")
    private List<String> tagCodeList;

    @Schema(description = "具体问题")
    private String specificTask;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate startTime;

    @Schema(description = "截止时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate deadline;

    @Schema(description = "任务状态")
    private Integer status;

    @Schema(description = "执行人code")
    private String executorCode;

    @Schema(description = "执行人名称")
    private String executorName;

}
